package ar.com.siglo21.taller.algoritmos.vista;

import java.util.Scanner;

import ar.com.siglo21.taller.algoritmos.controlador.ControladorEquipo;
import ar.com.siglo21.taller.algoritmos.controlador.ControladorTorneo;

public class Menu {

	static Scanner sc = new Scanner(System.in);

	public static void menu() {

		ControladorTorneo controladorTorneo = new ControladorTorneo();
		ControladorEquipo controladorEquipo = new ControladorEquipo();

		int op;
		do {
			imprimirMenu();
			System.out.println("Ingrese una opcion: \n");
			op = sc.nextInt();
			if (op == 1) {
				// Crear Torneo
				System.out.println("Ingrese el Nombre del Torneo: \n");
				String nombreTorneo = sc.next();

				System.out.println("Ingrese la Cantidad de Equipos: \n");
				int cantidadEquipos = sc.nextInt();

				System.out.println("Ingrese la categoria: \n");
				String categoria = sc.next();

				controladorTorneo.crearTorneo(nombreTorneo, cantidadEquipos,
						categoria);

			}

			if (op == 2) {
				
				//Cargar Equipos Participantes

				for (int i = 1; i < controladorTorneo.getTorneo()
						.getCantidadEquipos() + 1; i++) {

					System.out.println("Ingrese nombre del Equipo " + i);
					String nombreEquipo = sc.next();
					controladorTorneo.getTorneo()
							.getListaEquiposParticipantes()
							.add(controladorEquipo.crearEquipo(nombreEquipo));
				}

			}

			if (op == 3) {
				
				//Generar Fixture
				System.out.println("Armando Fixture..");
				controladorEquipo.generarRivales(controladorTorneo.getTorneo().getListaEquiposParticipantes());
				controladorTorneo.mostrarFixture();
			}

			if (op == 4) {
				//Cargar resultados de partidos
				System.out.println("Cargando resultados para cada partido..");
				controladorTorneo.cargarResultados();
			}

			if (op == 5) {
				
				System.out.println("Los 3 primeros equipos son: ");
				controladorTorneo.ordenarPosicionesAscescenso();
				controladorTorneo.listarTresMejores();

			}
			
			if (op == 6) {
				
				System.out.println("Los 3 primeros equipos son: ");
				controladorTorneo.ordenarPosicionesDescenso();
				controladorTorneo.listarTresPeores();

			}

			if (op == 7) {
				System.out.println("Saliendo del sistema!");
				System.exit(0);
			}

			if (op >= 8) {
				System.out.println("ERROR: OPCION INVALIDA");
			}

		} while (op != 6);
	}

	public static void imprimirMenu() {
		System.out.println("\nMenu ");
		System.out.println("1) Crear Torneo \n");
		System.out.println("2) Cargar Equipos Participantes \n");
		System.out.println("3) Generar Fixture \n");
		System.out.println("4) Cargar Resultados \n");
		System.out.println("5) Listar Primeros 3 Equipos \n");
		System.out.println("6) Listar Ultimos 3 Equipos \n");
		System.out.println("7) Salir \n");
	}

}